package cn.iocoder.yudao.module.eval.controller.admin.major.vo;

import cn.idev.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

/**
 * 管理后台 - 专业管理导入 Excel VO (基于列位置读取)
 * 
 * 根据实际Excel文件结构重新调整列索引
 * 实际列位置对应关系：
 * A列(0): 序号
 * B列(1): 大类编码
 * C列(2): 大类名称
 * D列(3): 专业编码
 * E列(4): 等级
 * F列(5): 专业名称
 * G列(6): 培养目标
 * H列(7): 学习年限
 * I列(8): 职业能力
 * J列(9): 对应职业（工种）
 * K列(10): 职业资格（职业技能等级）
 * L列(11): 教学内容与要求
 * M列(12): 对应上一级专业编码
 * N列(13): 对应下一级专业编码
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MajorImportByPositionExcelVO {

    @Schema(description = "序号")
    @ExcelProperty(index = 0)
    private String number;

    @Schema(description = "大类编码")
    @ExcelProperty(index = 1)
    private String categoryCode;

    @Schema(description = "大类名称")
    @ExcelProperty(index = 2)
    private String categoryName;

    @Schema(description = "专业编码")
    @ExcelProperty(index = 3)
    private String code;

    @Schema(description = "等级")
    @ExcelProperty(index = 4)
    private String skillLevel;

    @Schema(description = "专业名称")
    @ExcelProperty(index = 5)
    private String subCategoryName;

    @Schema(description = "培养目标")
    @ExcelProperty(index = 6)
    private String trainingGoal;

    @Schema(description = "学习年限")
    @ExcelProperty(index = 7)
    private String studyYear;

    @Schema(description = "职业能力")
    @ExcelProperty(index = 8)
    private String occupationalAbility;

    @Schema(description = "对应或相关职业（工种）")
    @ExcelProperty(index = 9)
    private String correspondingOccupation;

    @Schema(description = "职业资格（职业技能等级）")
    @ExcelProperty(index = 10)
    private String vocationalQualification;

    @Schema(description = "专业主要教学内容")
    @ExcelProperty(index = 11)
    private String majorTeachingContent;

    @Schema(description = "对应上一级专业编码")
    @ExcelProperty(index = 12)
    private String upperMajorCode;

    @Schema(description = "对应下一级专业编码")
    @ExcelProperty(index = 13)
    private String nextLevelCode;

    @Override
    public String toString() {
        return "MajorImportByPositionExcelVO{" +
                "number='" + number + '\'' +
                ", categoryCode='" + categoryCode + '\'' +
                ", categoryName='" + categoryName + '\'' +
                ", code='" + code + '\'' +
                ", skillLevel='" + skillLevel + '\'' +
                ", subCategoryName='" + subCategoryName + '\'' +
                ", trainingGoal='" + trainingGoal + '\'' +
                ", studyYear='" + studyYear + '\'' +
                ", occupationalAbility='" + occupationalAbility + '\'' +
                ", correspondingOccupation='" + correspondingOccupation + '\'' +
                ", vocationalQualification='" + vocationalQualification + '\'' +
                ", majorTeachingContent='" + majorTeachingContent + '\'' +
                ", upperMajorCode='" + upperMajorCode + '\'' +
                ", nextLevelCode='" + nextLevelCode + '\'' +
                '}';
    }
}